/***********************************************************************
 * Module:  TarificationActuel.java
 * Author:  Chris
 * Purpose: Defines the Class TarificationActuel
 ***********************************************************************/

package modele;

import java.util.*;


/** @pdOid e4b98a0b-ace9-4bd1-a301-fd2dfffbab39 */
public class TarificationActuel extends Tarification {
   /** @pdOid dd3e26d9-9a51-436d-b205-0f77d0ee1d63 */
   private float distance;
   /** @pdOid e769fe0b-a175-4194-9f8f-bbf15351f628 */
   private float taux;
   private static TarificationActuel _instanceTarif = null;
   
   public TarificationActuel(){
	   this.taux=Directeur.getInstance().getTarif();
   }
@Override
protected float coutColis(Colis c) {
	// TODO Stub de la m�thode g�n�r� automatiquement
	return c.getPoids()*taux*distance;
}
@Override
protected float coutColisFidele(Colis c, Fidele client) {
	// TODO Stub de la m�thode g�n�r� automatiquement
	float prixColis =0;
	if((client.getPointFidelite()>=100)&&(client.getPointFidelite()<=300))
		prixColis =(float) (c.getPoids()*taux*distance*0.95);
	else if(client.getPointFidelite()>300)
			prixColis= (float) (c.getPoids()*taux*distance*0.90);
	else 
		prixColis= this.coutColis(c);
	return prixColis;
}
public static synchronized TarificationActuel getInstance() {
	if (_instanceTarif == null)
		_instanceTarif = new TarificationActuel();
	return _instanceTarif;
}
public float getTaux() {
	return taux;
}
public void setTaux(float taux) {
	this.taux = taux;
}

}